var prefix = "/jzweb/examinationBatchCom";
let typesRace = window.location.href.split('?')[1].split('=')[1];
sessionStorage.setItem('types',typesRace);
$(function() {
	load();
});



function load() {
	$('#exampleTable').bootstrapTable(
		{
			method : 'get', // 服务器数据的请求方式 get or post
			url : prefix + "/list", // 服务器数据的加载地址
			//	showRefresh : true,
			//	showToggle : true,
			//	showColumns : true,
			iconSize : 'outline',
			toolbar : '#exampleToolbar',
			striped : true, // 设置为true会有隔行变色效果
			dataType : "json", // 服务器返回的数据类型
			pagination : true, // 设置为true会在底部显示s分页条
			// onlyInfoPagination:true,
			singleSelect : false, // 设置为true将禁止多选
			// contentType : "application/x-www-form-urlencoded",
			// //发送到服务器的数据编码类型
			pageSize : 10, // 如果设置了分页，每页数据条数
			pageNumber : 1, // 如果设置了分布，首页页码
			//search : true, // 是否显示搜索框
			showColumns : false, // 是否显示内容下拉框（选择显示的列）
			sidePagination : "server", // 设置在哪里进行分页，可选值 为"client" 或者 "server"
			queryParamsType : "",striped : true, // 设置为true会有隔行变色效果
			dataType : "json", // 服务器返回的数据类型
			pagination : true, // 设置为true会在底部显示s分页条
			// onlyInfoPagination:true,
			singleSelect : false, // 设置为true将禁止多选
			// contentType : "application/x-www-form-urlencoded",
			// //发送到服务器的数据编码类型
			pageSize : 10, // 如果设置了分页，每页数据条数
			pageNumber : 1, // 如果设置了分布，首页页码
			//search : true, // 是否显示搜索框
			showColumns : false, // 是否显示内容下拉框（选择显示的列）
			sidePagination : "server", // 设置在哪里进行分页，可选值 为"client" 或者 "server"
			queryParamsType : "",


			// id : 'id',
			// code :'id',
			// parentCode : 'pid',
			// bordered : true, // 是否显示边框
			// expandAll : false, // 是否全部展开
			// detailView: true,//父子表
			// expandColumn : '0',// 在哪一列上面显示展开按钮

			// //设置为limit则会发送符合RESTFull格式的参数
			queryParams : function(params) {
				return {
					//说明：传入后台的参数包括offset开始索引，limit步长，sort排序列，order：desc或者,以及所有列的键值对
					pageNumber : params.pageNumber,
					pageSize : params.pageSize,
					name:$('#name').val(),
					type:typesRace
					// username:$('#searchName').val()
				};
			},
			// //请求服务器数据时，你可以通过重写参数的方式添加一些额外的参数，例如 toolbar 中的参数 如果
			// queryParamsType = 'limit' ,返回参数必须包含
			// limit, offset, search, sort, order 否则, 需要包含:
			// pageSize, pageNumber, searchText, sortName,
			// sortOrder.
			// 返回false将会终止请求
			responseHandler : function(res){
				console.log(res.data.records);
				if(res.code !== '0') {
					layer.msg(res.msg);
					return false
				}
				return {
					"total": res.data.total,//总数
					"rows": res.data.records   //数据
				};
			},
			columns: [
				{
					checkbox: true
				},
				{
					field: 'name',
					title: '标题',
				},
				{
					field: 'state',
					title: '竞赛状态',
					formatter: function (value, row, index) { //（0待审核、1已通过，2未通过，3开始登录，4考试中，5已考完，6已生成试卷，9已删除）
						if (value == 0) {
							return '<span > <p class="audit"></p>待审核</span>';
						} else if (value == 1) {
							return '<span ><p class="pass"></p>已通过</span>';
						} else if (value == 2) {
							return '<span ><p class="dedetels"></p>未通过</span>';
						} else if (value == 3) {
							return '<span ><p class="finish"></p>开始登录</span>';
						} else if (value == 4) {
							return '<span ><p class="pass"></p>考试中</span>';
						} else if (value == 5) {
							return '<span ><p class="finish"></p>已考完</span>';
						} else if (value == 6) {
							return '<span ><p class="finish"></p>已生成试卷</span>';
						} else if (value == 9) {
							return '<span ><p class="dedetels"></p>已删除</span>';
						}
					}
				},
				{
					field: 'passMark',
					title: '竞赛时间',
					formatter:function (value,row,index){
						if( row.startTime && row.endTime ){
							return row.startTime + ' ~ ' + row.endTime
						}
					}
				},
				{
					field: 'type',
					title: '竞赛方式',
					formatter: function (value, row, index) { //（0理论考试，1技能考试，2社会实践）
						if (value == 0) {
							return '<span >理论考试</span>';
						} else if (value == 1) {
							return '<span >技能考试</span>';
						} else if (value == 2) {
							return '<span >社会实践</span>';
						}else if (value == 3) {
							return '<span >竞赛</span>';
						}else if (value == 4) {
							return '<span >实操竞赛</span>';
						}
					}
				},
				// {
				// 	field: 'totalScore',
				// 	title: '试题数量',
				// 	width:'100px'
				// },
				{
					field: 'startTime',
					title: '创建时间'
				},
				{
					title: '操作',
					field: 'id',
					align: 'center',
					formatter: function (value, row, index) {
						var f = `<a style="color:#5cb85c" class=" ${s_edit_h} " href="#" title="添加赛场"  mce_href="#" onclick="adds(this)" data-id="${row.id}" data-cbatchid="${row.cbatchId}">添加</a>`;
						var e = `<a style="margin: 0 5px;color: #337ab7" class=" ${s_edit_h}" data-id="${row.id}" data-cbatchid="${row.cbatchId}" href="#" mce_href="#" title="编辑" onclick="edit(this)">编辑</a>`;
						var d = '<a style="color: red" class=" ' + s_remove_h + '" href="#" title="删除"  mce_href="#" onclick="remove(\''
							+ row.id
							+ '\')">删除</a>';
						var t = `<a style="margin: 0 5px;color: #337ab7" class=" ${s_edit_h} " data-id="${row.id}" data-cbatchid="${row.cbatchId}" href="#" mce_href="#" title="打分" onclick="edits(this)">编辑</a>`;
						var g = '<a style="color: #449d44"  class=" " href="#" title="打分"  mce_href="#" onclick="markingPapers(\''
							+ row.id
							+ '\')">打分</a>';
						var ds = '<a style="color: red" class=" ' + s_remove_h + '" href="#" title="删除"  mce_href="#" onclick="removes(\''
							+ row.id
							+ '\')">删除</a>';

						if( row.pid ){
							return t +ds;
						}
						return f+e + d;

					},
				}],

			//指定子id
			idField: 'id',
			expandAll: false, // 是否全部展开
			//在哪一列展开树形
			treeShowField: 'name',
			//指定父id列
			parentIdField: 'pid',

			onResetView: function (data) {
				//console.log('load');
				$('#exampleTable').treegrid({
					initialState: 'collapsed',// 所有节点都折叠
					// initialState: 'expanded',// 所有节点都展开，默认展开
					treeColumn: 1,
					// expanderExpandedClass: 'glyphicon glyphicon-minus',  //图标样式
					// expanderCollapsedClass: 'glyphicon glyphicon-plus',
					onChange: function () {
						$('#exampleTable').bootstrapTable('resetWidth');
					}
				});

				//只展开树形的第一级节点
				$('#exampleTable').treegrid('getRootNodes').treegrid('expand');

			},
			onCheck: function (row) {
				var datas = $('#exampleTable').bootstrapTable('getData');
				// 勾选子类
				selectChilds(datas, row, "id", "pid", true);

				// 勾选父类
				selectParentChecked(datas, row, "id", "pid")

				// 刷新数据
				$('#exampleTable').bootstrapTable('load', datas);
			},

			onUncheck: function (row) {
				var datas = $('#exampleTable').bootstrapTable('getData');
				selectChilds(datas, row, "id", "pid", false);
				$('#exampleTable').bootstrapTable('load', datas);
			},

		});
}
function reLoad() {
	$('#exampleTable').bootstrapTable('refresh');
}
function adds(that) {
	// console.log(prefix + '/adds/?id='+$(that).attr('data-id') +'&cbatchId='+ $(that).attr('data-cbatchid'))
	layer.open({
		type : 2,
		title : '增加',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '520px' ],
		content : prefix + '/adds/?id='+$(that).attr('data-id')+'&cbatchId='+ $(that).attr('data-cbatchid')// iframe的url
	});
}

function edits(that){
	layer.open({
		type : 2,
		title : '编辑',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '520px' ],
		content : prefix + '/edits/?id='+$(that).attr('data-id')+'&cbatchId='+ $(that).attr('data-cbatchid') // iframe的url
	});
}

function add() {
	layer.open({
		type : 2,
		title : '增加',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '520px' ],
		content : prefix + '/add' // iframe的url
	});
}
function edit(that) {
	layer.open({
		type : 2,
		title : '编辑',
		maxmin : true,
		shadeClose : false, // 点击遮罩关闭层
		area : [ '800px', '520px' ],
		content : prefix + '/edit/'+$(that).attr('data-id')// iframe的url
	});
}
function remove(id) {
	layer.confirm('确定要删除选中的记录？', {
		btn : [ '确定', '取消' ]
	}, function() {
		$.ajax({
			url : prefix+"/remove",
			type : "post",
			data : {
				'id' : id
			},
			success : function(r) {
				if (r.code==0) {
					layer.msg(r.msg);
					reLoad();
				}else{
					layer.msg(r.msg);
				}
			}
		});
	})
}

function removes(id){
	layer.confirm('确定要删除选中的记录？', {
		btn : [ '确定', '取消' ]
	}, function() {
		$.ajax({
			url : "/jzweb/examinationBatchComS/remove",
			type : "post",
			data : {
				'id' : id
			},
			success : function(r) {
				if (r.code==0) {
					layer.msg(r.msg);
					reLoad();
				}else{
					layer.msg(r.msg);
				}
			}
		});
	})
}

function markingPapers(id){

	window.open('/jzweb/stuSignUpScoring/stuSignUpScoringAC?id='+id);

	// $.ajax({
	// 	type : 'get',
	// 	data : {
	// 		"id" : id
	// 	},
	// 	url : '/jzweb/stuSignUpScoring/resultListYesOrNo',
	// 	success : function(r) {
	// 		if (r.code == 0) {
	// 			layer.open({
	// 				type : 2,
	// 				title : '实操打分',
	// 				maxmin : true,
	// 				shadeClose : false, // 点击遮罩关闭层
	// 				area : [ '800px', '520px' ],
	// 				content : '/jzweb/stuSignUpScoring/stuSignUpScoringAC?id='+id // iframe的url
	// 			});
	// 		} else {
	// 			layer.msg(r.msg);
	// 		}
	// 	}
	// });


}

function resetPwd(id) {
}

function batchRemove() {
	var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行，当没有选择的记录时，返回一个空数组
	if (rows.length == 0) {
		layer.msg("请选择要删除的数据");
		return;
	}
	layer.confirm("确认要删除选中的'" + rows.length + "'条数据吗?", {
		btn : [ '确定', '取消' ]
		// 按钮
	}, function() {
		var ids = new Array();
		// 遍历所有选择的行数据，取每条数据对应的ID
		$.each(rows, function(i, row) {
			ids[i] = row['id'];
		});
		$.ajax({
			type : 'POST',
			data : {
				"ids" : ids
			},
			url : prefix + '/batchRemove',
			success : function(r) {
				if (r.code == 0) {
					layer.msg(r.msg);
					reLoad();
				} else {
					layer.msg(r.msg);
				}
			}
		});
	}, function() {

	});
}

function leadFile(id){

	layer.open({
		type: 1,
		area:['300px','150px'],
		content: `
				<div class="columns pull-left" style="margin-left:4px">
					<form shiro:hasPermission="jzweb:stuSignUpCom:import" id="importExcelForm" method="post" enctype="multipart/form-data">
					<input class="form-control" style="width:200px" name="file" id="fileUrl" type="file">
				</div>
			`
		,btn: ['确定', '取消']
		,yes: function(index, layero){

			var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
			parent.layer.close(index);
			importComExcelFile($('#fileUrl'),$('#importExcelForm'),id,'/jzweb/stuSignUpCom/import')

		}

	});

	//
}

//导入
function importComExcelFile(fileObj, formObj,cbatchId,url) {
	if (cbatchId==null||cbatchId==''){
		layer.msg('请选择竞赛批次后导入!');
	}else {
		var fileUrl = fileObj.val();
		var suffix = fileUrl.substr(fileUrl.lastIndexOf(".")).toLowerCase();//获得文件后缀名
		if (suffix == '.xls' || suffix == '.xlsx') {
			if (fileUrl) {
				formObj.ajaxSubmit({
					type: "post",
					url: url,
					data: {cbatchId: cbatchId,type:typesRace},
					dataType: "json",
					success: function (data) {
						console.log("data",data);
						if (data.code == 0) {
							layer.msg(data.msg);
							$('#exampleTable').bootstrapTable('refresh');
						} else if (data.code ==41304 ) {
							layer.confirm('是否下载错误报告？', {
								btn1:function(index){
									window.location.href = '/jzweb/stuSignUp/importComError';
									layer.close(index)
								}
							});
						} else{
							layer.msg(data.msg);
						}
					}, error: function (XMLHttpRequest, textStatus, errorThrown) {
						console.log(XMLHttpRequest, textStatus, errorThrown)
						layer.msg('出错了!');
					}
				});
			} else {
				layer.msg('上传的文件不可为空');
				// parent.$.messager.alert('警告', "上传的文件不可为空", 'warning');
			}
		} else {
			layer.msg('请上传正确的Excel表格!');
			// $.messager.alert('警告', "", 'warning');
		}
	}
}